import { request } from "../../request/req.js"
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 左侧菜单数组
    leftMenuList: [],
    // 右侧商品数组
    rightContent: [],
    // 选中菜单索引
    currentIndex: 0,
    // 右侧内容的滚动条
    scrollToTop: 0
  },
  // 接受server返回整体数据
  Cates:[],
  // 更新UI，即缓存
  updateUI() {
    // 构造左侧大菜单数据
    let leftMenuList = this.Cates.map(v => v.cat_name);
    // 构造右侧商品数据
    let rightContent = this.Cates[0].children;
    this.setData({
      leftMenuList,
      rightContent
    })
  },
  // 获取商品分类数据
  getCates() {
    request({
      url:'/categories'
    }).then((res)=> {
      this.Cates = res.data.message;
      // console.log(res.data.message);
      // 本地存储数据
      wx.setStorageSync("cates", { time: Date.now(), data: this.Cates});
      this.updateUI();
    })
  },
  // 点击左侧菜单
  handItemTab(e) {
    // console.log(e)
    // 获取索引
    const { index } = e.currentTarget.dataset;

    // 如果重复点击当前标签，不做操作
    if (index == this.data.currentIndex) {
      return;
    }
    // 更新右侧商品数据
    let right = this.Cates[index].children;
    this.setData({
      currentIndex: index,
      rightContent: right,
      scrollToTop: 0
    })
  },


  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // 获取本地存储数据
    const localCates = wx.getStorageSync("cates");
    if (!localCates) {
      // 本地没有，网络请求
      this.getCates();
    } else {
      // 本地有数据，判断是否过期 此处为60秒
      if (Date.now() - localCates.time > 60000) {
        // 数据过期
        this.getCates();
      } else {
        // 本地数据有效
        this.Cates = localCates.data;
        this.updateUI();
      }
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  
})